fix: keep database comparison output ephemeral by default - #78
Merged
Conversation
## Summary - Capture database comparison output in a restricted temporary workspace by default and remove it on every exit path - Retain exact raw output only through an explicit, permission-restricted destination while preserving the legacy `--out-dir` spelling as an opt-in - Bound command and diff diagnostics and cover success, difference, failure, interruption, restoration, permissions, and ignored-state behavior ## Why - Avoid persistently storing potentially sensitive schema and operational output during ordinary comparisons - Preserve exact argv execution, comparison semantics, and intentional debugging workflows
12 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
Database comparisons now remove permission-restricted raw output by default while preserving explicit, auditable retention and exact comparison behavior.
Summary
temporary workspace that is removed on success, difference detection,
command or diff failure, interruption, and restoration paths
--keep-output-dir PATHretention while preserving--out-dir PATHas an intentional legacy alias; retained raw files useowner-only permissions and report their resolved paths
inputs or changing exact argv execution
recordkeeping, and clean-tree guarantees with focused regression coverage
Validation
just formatjust lintjust test— 521 tests passedreview-code-change— clean at2f13a2d6c27fda2ced66558460a72c11c4d43c26Acceptance
All issue-authored acceptance criteria are pre-merge and pass on the published
candidate. No deployment or post-merge environment check is required.
Tickets
Fixes #69